//方案二: 借用构造函数(call)继承
//CALL继承的特点
//在Child方法中把Parent当作普通的函数执行,让Parent中的this指向Child的实例, 相当于给Child的实例设置了私有的属性和方法
/*
* 1.只能继承父类的私有属性和方法(因为只是把Parent当作普通函数执行了一次,跟Parent的原型上的方法和属性没有任何关系)
* 2.父类私有的属性和方法都会变成子类私有的属性和方法
* */

//父类构造函数
function Parent(x){
    this.x = x;
    this.sayHello = function (){
        console.log("sayHello")
    }
}
//父类原型
Parent.prototype.getX = function (){
    console.log("getX",this.x)
}

//子类构造函数
function Child(y,x){
    Parent.call(this,x);
    // 等价于 Parent.call(this,x)
    // this.x = x;
    // this.sayHello = function (){
    //     console.log("sayHello")
    // }
    this.y = y;
}
Child.prototype.getY = function (){
    console.log("getY",this.y)
}
//子类实例
let c1 = new Child(200,100);